﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Skynet.BusinessLogic.BusinessComponents;
using System.ServiceModel;
using Skynet.BusinessEntities;

namespace Skynet.ServiceProxies
{
    public class BCExamQueries : ClientBase<IBCExamQueries>, IBCExamQueries
    {
        public BCExamQueries(string endpointname) : base(endpointname)
        { }

        #region IBCExamQueries Members

        public IEnumerable<ExamCategory> SearchExamCategories(SearchExamCategoriesOptions options = SearchExamCategoriesOptions.GetAll, Guid? Id = null)
        {
            return base.Channel.SearchExamCategories(options, Id);
        }

        public string QueryExamCategories(QueryExamCategoriesOptions options, Guid? CustomerId = null)
        {
            return base.Channel.QueryExamCategories(options, CustomerId);
        }

        public IEnumerable<Exam> SearchExams(ExamSearchOptions options = ExamSearchOptions.GetAll, Guid? id = null, Guid? CustomerId = null, Guid? CategoryId = null)
        {
            return base.Channel.SearchExams(options, id, CustomerId, CategoryId);
        }
        public string QueryExams(QueryExamOptions Options = QueryExamOptions.DesignListView, Guid? CategoryId = null, Guid? CustomerId = null)
        {
            return base.Channel.QueryExams(Options, CategoryId, CustomerId);
        }

        public IEnumerable<ExamByCustomer> SearchExamByCustomer(ExamByCustomerSearchOptions options = ExamByCustomerSearchOptions.GetByCustomerId, Guid? CustomerId = null, Guid? ExamByCustomerId = null)
        {
            return base.Channel.SearchExamByCustomer(options, CustomerId, ExamByCustomerId);
        }

        public IEnumerable<BaseAlternative> SearchAlternatives(SearchAlternativesOptions options = SearchAlternativesOptions.DesignOne, Guid? AlternativeId = null, Guid? QuestionId = null)
        {
            throw new NotImplementedException();
        }

        public string QueryAlternatives(QueryAlternativesOptions options = QueryAlternativesOptions.DesignByQuestion, Guid? QuestionId = null)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<BaseQuestion> SearchQuestion(QuestionSearchOptions options = QuestionSearchOptions.GetAll, Guid? QuestionId = null, Guid? CustomerExamId = null, Guid? ExamId = null)
        {
            throw new NotImplementedException();
        }

        public string QueryQuestions(QueryQuestionsOptions options = QueryQuestionsOptions.DesignByExamView, Guid? ExamId = null)
        {
            throw new NotImplementedException();
        }

        public double FindExamByCustomer(FindExamByCustomerOptions options = FindExamByCustomerOptions.ActiveExams, Guid? CustomerId = null)
        {
            throw new NotImplementedException();
        }

        public string ValidationSystem()
        {
            throw new NotImplementedException();
        }

        public void LoadQuestion(LoadQuestionOptions options, ref BaseQuestion Question)
        {
            throw new NotImplementedException();
        }

        public void LoadAlternative(LoadAlternativeOptions options, ref BaseAlternative Alternative)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
